import Vue from 'vue'
import App from './App'

// 工具
import '@/plugins/utils.js';
// #ifdef H5
import '@/plugins/noscale.js';
// #endif
import tools from '@/store/tools'
Vue.prototype.$tools = tools;
//权限配置中心
import base from '@/config/baseUrl'
Vue.prototype.$base = base;
// vuex数据管理中心
import store from '@/store'
Vue.prototype.$store = store;
//判断是否登录
import { judgeLogin } from '@/config/login';
Vue.prototype.judgeLogin = judgeLogin;

//import svg  from '@/style/iconfont/iconfont.js';
//Vue.use(svg)

// #ifdef APP
// 自定义showModal组件
import f_show_modal from '@/components/module/show_modal/f_show_modal.js'
Vue.use(f_show_modal)
// #endif

// uview
import uView from '@/uni_modules/uview-ui'
Vue.use(uView)
// #ifdef MP
// 引入uView对小程序分享的mixin封装
// const mpShare = require('@/uni_modules/uview-ui/libs/mixin/mpShare.js')
// Vue.mixin(mpShare)
// #endif
// #ifdef H5
//微信公众号(分享、扫码、获取位置等)
import '@/plugins/jwxUtils.js';
// #endif
// 基于iconfont图标库组件
//import fIcon from "@/components/module/f-icon/f-icon.vue";
//Vue.component("f-icon", fIcon);
// 公共组件
import publicModule from "@/components/common/public-module.vue";
Vue.component("public-module", publicModule);


// 引入语言包
import zhCN from '@/plugins/locale/zhcn.js';
import en from '@/plugins/locale/en.js';
import zhhk from '@/plugins/locale/zhhk.js';
// 引入并使用vue-i18n
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
// 构造i18n对象
const i18n = new VueI18n({
	locale: (() => {
		try {
			const lang = uni.getStorageSync("locale");
			if (lang) {
				return lang
			} else {
				uni.setStorageSync('locale', 'zhcn');
				return 'zhcn'
			}
		} catch (e) {
			uni.setStorageSync('locale', 'zhcn');
			return 'zhcn'
		}
	})(), //初始化,保证刷新页面也保留
	// 引入语言文件
	messages: {
		'zhcn': zhCN, // 这里为上面通过import引入的语言包
		'en': en,
		'zhhk':zhhk,
	},
	silentTranslationWarn: true,
})
// 由于微信小程序的运行机制问题，需声明如下一行，H5和APP非必填
Vue.prototype._i18n = i18n

Vue.config.productionTip = false
App.mpType = 'app'

const app = new Vue({
	i18n,
    store,
    ...App
})
// request
import '@/config/request.js';
app.$mount()

Vue.mixin({
	onLoad: function() {
		const lang = this.$i18n.locale;
		uni.setTabBarItem({
			index: 0,
			text: this.$t('tabBar.tab0')
		});
		uni.setTabBarItem({
			index: 1,
			text: this.$t('tabBar.tab2')
		});
		uni.setTabBarItem({
			index: 2,
			text: this.$t('tabBar.tab3')
		});
	}
})